package com.drink.yan.intf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.drink.yan.intf.entity.io.YanJsonMapIo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meta.framework.copy.Copyable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;


/**
 * java类简单作用描述
 *
 * @Title:
 * @Package: com.drink.yan.intf.entity.
 * @Author: M.simple
 * @Remark: The modified content
 * @CreateDate: 2023/11/24 17:27
 * @Version: v2.0
 */
@Data
@TableName(value = "yan_sku", autoResultMap = true)
public class YanSku extends Copyable {

    @TableId(value = "sku_id", type = IdType.AUTO)
    @ApiModelProperty(value = "商品编号")
    private Long skuId;
    @ApiModelProperty(value = "商品来源 senior:学姐 system:系统 ")
    private String skuOriginal;
    @ApiModelProperty(value = "商品类型 book:实体书 ebook:电子书 lesson:体验课")
    private String skuType;
    @ApiModelProperty(value = "商品名称")
    private String skuName;
    @ApiModelProperty(value = "商品头图")
    @TableField(value = "sku_imgs", typeHandler = FastjsonTypeHandler.class)
    private List<String> skuImgs;
    @ApiModelProperty(value = "商品视频")
    @TableField(value = "sku_videos", typeHandler = FastjsonTypeHandler.class)
    private List<String> skuVideos;
    @ApiModelProperty(value = "商品分类")
    private String skuCategory;

    @TableField(value = "sku_labels", typeHandler = FastjsonTypeHandler.class)
    @ApiModelProperty(value = "商品标签")
    private List<String> skuLabels;

    @ApiModelProperty(value = "价格")
    private BigDecimal skuPrice;

    private String expressType;

    @ApiModelProperty("下单次数")
    private Integer orderCount;

    @ApiModelProperty("快递方式")
    private String expressRemark;

    @ApiModelProperty(value = "归属人")
    private Long belongUid;
    @ApiModelProperty(value = "购买描述")
    private String buyRemark;
    @ApiModelProperty(value = "详情页 html")
    private String skuDetail;
    @ApiModelProperty("审核状态")
    private String checkStatus;
    @ApiModelProperty("状态 wait_audit:待审核 audit_failed:审核不通过 wait_shelf:待上架 on_shelf:已上架 off_shelf:已下架 ")
    private String status;
    @TableField(value = "sku_files", typeHandler = FastjsonTypeHandler.class)
    private List<YanJsonMapIo> skuFiles;
    private String delFlag;
    private Long createBy;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;
    private Long updateBy;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;
    private String remark;

}
